/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Model;

import Controller.Salle;
import Controller.Secteur;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.Map;

public class SecteurDAO extends AbstractDAO<Secteur> {

  public SecteurDAO(Connection connect) {
	super(connect);
  }

  @Override
  protected boolean insert(Secteur obj) {
	throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  }

  @Override
  protected boolean update(Secteur obj) {
	throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  }

  @Override
  protected boolean delete(Secteur obj) {
	throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  }

  /**
   * Recup un secteur grâce à l'id
   * @param id
   * @return Secteur
   */
  @Override
  protected Secteur findById(int id) {

	Secteur secteur = new Secteur();
	try {

	  ResultSet res = this.connect.createStatement(
			  ResultSet.TYPE_SCROLL_INSENSITIVE,
			  ResultSet.CONCUR_READ_ONLY).executeQuery("SELECT * FROM secteur WHERE idSc = " + id);

	  if (res.first()) {
		secteur.setId(res.getInt(1));
		secteur.setNom(res.getString(2));
	  }

	  return secteur;

	} catch (Exception e) {
	  e.printStackTrace();
	  return null;
	}
  }

  /**
   * Recup touts les secteurs
   * @return Map<Integer, Secteur>
   */
  public Map<Integer, Secteur> findAll() {
	Map<Integer, Secteur> secteurs = new HashMap();
	try {
	  ResultSet result = this.connect.createStatement(
			  ResultSet.TYPE_SCROLL_INSENSITIVE,
			  ResultSet.CONCUR_READ_ONLY).executeQuery("SELECT * FROM secteur");

	  while (result.next()) {
		Secteur secteur = new Secteur();
		secteur.setId(result.getInt(1));
		secteur.setNom(result.getString(2));
		secteurs.put(secteur.getId(), secteur);
	  }
	} catch (Exception e) {
	}
	return secteurs;
  }
}
